home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 November / Macworld (1999-11).dmg / Shareware World / Utilities / User Interface / Golive [Font] / LaunchURL / Source / IC APIs / ICKeys.h < prev    next >
Text File  |  1997-09-14  |  10KB  |  221 lines

  1. /* •••Start Header••• */
  2.  
  3. /* File:         ICKeys.h
  4.  * Generated by: 1.0d5
  5.  * For:          IC 1.4
  6.  * On:           Sunday, 14 September 1997, 21:17:55
  7.  * 
  8.  * This file is part of the Internet Configuration system and
  9.  * is placed in the public domain for the benefit of all.
  10.  */
  11.  
  12. /* •••End Header••• */
  13.  
  14. /*
  15.     IMPORTANT NOTES ABOUT THE C CONVERSION
  16.     --------------------------------------
  17.     
  18.     o Pascal "var" parameters are converted from "var x : y" to "y *x".  This
  19.       means that when you see the parameter "y *x" you should be aware that
  20.             you *cannot pass in nil*.  In future this restriction may be eased,
  21.             especially for the attr parameter to ICGetPref.  Parameters where nil
  22.             is legal are declared using the explicit pointer type, ie "yPtr x".
  23.  
  24.     o Strings are *Pascal* strings.  This means that they must be word aligned.
  25.         MPW and Think C do this automatically.  The last time I check, Metrowerks
  26.         C does not.  If it still doesn't, then IMHO it's a bug in their compiler
  27.         and you should report it to them.
  28.  
  29.     o The canonical Internet Config interface is defined in Pascal.  These
  30.         headers have not been thoroughly tested.  If there is a conflict between
  31.         these headers and the Pascal interfaces, the Pascal should take precedence.
  32. */
  33.  
  34. /* ///////////////////////////////////////////////////////////////////////////////// */
  35.  
  36. #ifndef __ICKEYS__
  37. #define __ICKEYS__
  38.  
  39. #ifndef __TYPES__
  40. #include <Types.h>
  41. #endif
  42.  
  43. #ifndef __ALIASES__
  44. #include <Aliases.h>
  45. #endif
  46.  
  47. /* ///////////////////////////////////////////////////////////////////////////////// */
  48.  
  49. /* •••Start ICKeys.h••• */
  50.  
  51. #define kICRealName "\pRealName"    /* PString -- real name of user */
  52. #define kICEmail "\pEmail"    /* PString -- user@host.domain, email address of user, ie return address */
  53. #define kICMailAccount "\pMailAccount"    /* PString -- user@host.domain, account from which to fetch mail */
  54. #define kICMailPassword "\pMailPassword"    /* PString -- scrambled, password for MailAccount */
  55. #define kICNewsAuthUsername "\pNewsAuthUsername"    /* PString -- user name for authorised news servers */
  56. #define kICNewsAuthPassword "\pNewsAuthPassword"    /* PString -- scrambled, password for NewsAuthUsername */
  57. #define kICArchiePreferred "\pArchiePreferred"    /* PString -- formatted, preferred Archie server */
  58. #define kICArchieAll "\pArchieAll"    /* STR# -- formatted, list of Archie servers */
  59. #define kICUMichPreferred "\pUMichPreferred"    /* PString -- formatted, preferred UMich server */
  60. #define kICUMichAll "\pUMichAll"    /* STR# -- formatted, list of UMich servers */
  61. #define kICInfoMacPreferred "\pInfoMacPreferred"    /* PString -- formatted, preferred Info-Mac server */
  62. #define kICInfoMacAll "\pInfoMacAll"    /* STR# -- formatted, list of Info-Mac servers */
  63. #define kICPhHost "\pPhHost"    /* PString -- host.domain, default Ph server */
  64. #define kICWhoisHost "\pWhoisHost"    /* PString -- host.domain, default whois server */
  65. #define kICFingerHost "\pFingerHost"    /* PString -- host.domain, default finger server */
  66. #define kICFTPHost "\pFTPHost"    /* PString -- host.domain, default FTP server */
  67. #define kICTelnetHost "\pTelnetHost"    /* PString -- host.domain, default Telnet address */
  68. #define kICSMTPHost "\pSMTPHost"    /* PString -- host.domain, SMTP server */
  69. #define kICNNTPHost "\pNNTPHost"    /* PString -- host.domain, NNTP server */
  70. #define kICGopherHost "\pGopherHost"    /* PString -- host.domain, default Gopher server */
  71. #define kICLDAPServer "\pLDAPServer"    /* PString -- host.domain */
  72. #define kICLDAPSearchbase "\pLDAPSearchbase"    /* PString -- string LDAP thing */
  73. #define kICWWWHomePage "\pWWWHomePage"    /* PString -- URL, users default WWW page */
  74. #define kICWAISGateway "\pWAISGateway"    /* PString -- no idea */
  75. #define kICListFont "\pListFont"    /* ICFontRecord -- font used for lists of items (eg news article lists) */
  76. #define kICScreenFont "\pScreenFont"    /* ICFontRecord -- font used for monospaced text (eg news articles) */
  77. #define kICDocumentFont "\pDocumentFont"    /* ICFontRecord -- font used for proportional text */
  78. #define kICPrinterFont "\pPrinterFont"    /* ICFontRecord -- font used to print ScreenFont */
  79. #define kICDownloadFolder "\pDownloadFolder"    /* ICFileSpec -- where to put newly downloaded files */
  80. #define kICSignature "\pSignature"    /* TEXT -- append to news and mail messages */
  81. #define kICOrganization "\pOrganization"    /* PString -- for X-Organization string */
  82. #define kICPlan "\pPlan"    /* TEXT -- default response for finger servers */
  83. #define kICQuotingString "\pQuotingString"    /* PString -- used to quote responses in news and mail */
  84. #define kICMailHeaders "\pMailHeaders"    /* TEXT -- extra headers for mail messages */
  85. #define kICNewsHeaders "\pNewsHeaders"    /* TEXT -- extra headers for news messages */
  86. #define kICMapping "\pMapping"    /* ICMapEntries -- file type mapping, see documentation */
  87. #define kICCharacterSet "\pCharacterSet"    /* ICCharTable -- Mac-to-Net and Net-to-Mac character translation */
  88. #define kICHelper "\pHelper•"    /* ICAppSpec -- helpers for URL schemes */
  89. #define kICServices "\pServices"    /* ICServices -- TCP and IP port-to-name mapping */
  90. #define kICNewMailFlashIcon "\pNewMailFlashIcon"    /* Boolean -- how to announce new mail */
  91. #define kICNewMailDialog "\pNewMailDialog"    /* Boolean */
  92. #define kICNewMailPlaySound "\pNewMailPlaySound"    /* Boolean */
  93. #define kICNewMailSoundName "\pNewMailSoundName"    /* PString */
  94. #define kICWebBackgroundColour "\pWebBackgroundColour"    /* RGBColor -- background colour for web pages */
  95. #define kICNoProxyDomains "\pNoProxyDomains"    /* STR# -- list of domains not to be proxied */
  96. #define kICUseSocks "\pUseSocks"    /* Boolean */
  97. #define kICSocksHost "\pSocksHost"    /* PString -- host.domain, remember that host.domain format allows ":port" and " port" */
  98. #define kICUseHTTPProxy "\pUseHTTPProxy"    /* Boolean */
  99. #define kICHTTPProxyHost "\pHTTPProxyHost"    /* PString -- host.domain */
  100. #define kICUseGopherProxy "\pUseGopherProxy"    /* Boolean */
  101. #define kICGopherProxy "\pGopherProxy"    /* PString -- host.domain, see note in Prog Docs */
  102. #define kICUseFTPProxy "\pUseFTPProxy"    /* Boolean */
  103. #define kICFTPProxyHost "\pFTPProxyHost"    /* PString -- host.domain */
  104. #define kICFTPProxyUser "\pFTPProxyUser"    /* PString -- first level FTP proxy authorisation */
  105. #define kICFTPProxyPassword "\pFTPProxyPassword"    /* PString -- scrambled, password for FTPProxyUser */
  106. #define kICFTPProxyAccount "\pFTPProxyAccount"    /* PString -- second level FTP proxy authorisation */
  107. #define kICUsePassiveFTP "\pUsePassiveFTP"    /* Boolean -- use PASV command for FTP transfers */
  108. #define kICSnailMailAddress "\pSnailMailAddress"    /* TEXT -- preferred mailing address */
  109. #define kICMacSearchHost "\pMacSearchHost"    /* PString -- host for MacSearch queries */
  110. #define kICWebSearchPagePrefs "\pWebSearchPagePrefs"    /* PString -- URL, users default search page */
  111.  
  112. /* •••End ICKeys.h••• */
  113.  
  114. #if PRAGMA_ALIGN_SUPPORTED
  115. #pragma options align=mac68k
  116. #endif
  117.  
  118. struct ICFontRecord {
  119.     short size;
  120.     Style face;
  121.     char pad;
  122.     Str255 font;
  123. };
  124. typedef struct ICFontRecord ICFontRecord, *ICFontRecordPtr, **ICFontRecordHandle;
  125.  
  126. struct ICCharTable {
  127.     unsigned char net_to_mac[256];
  128.     unsigned char mac_to_net[256];
  129. };
  130. typedef struct ICCharTable ICCharTable, *ICCharTablePtr, **ICCharTableHandle;
  131.  
  132. struct ICAppSpec {
  133.     OSType fCreator;
  134.     Str63 name;
  135. };
  136. typedef struct ICAppSpec ICAppSpec, *ICAppSpecPtr, **ICAppSpecHandle;
  137.  
  138. struct ICFileInfo {
  139.     OSType fType;
  140.     OSType fCreator;
  141.     Str63 name;
  142. };
  143. typedef struct ICFileInfo ICFileInfo, *ICFileInfoPtr, **ICFileInfoHandle;
  144.  
  145. struct ICFileSpec {
  146.     Str31 vol_name;
  147.     long vol_creation_date;
  148.     FSSpec fss;
  149.     AliasRecord alias;
  150.     /* plus extra data, aliasSize 0 means no alias manager present when
  151.             ICFileSpecification was created */
  152. };
  153. typedef struct ICFileSpec ICFileSpec, *ICFileSpecPtr, **ICFileSpecHandle;
  154.  
  155. enum {
  156.     ICfile_spec_header_size = sizeof(ICFileSpec) - sizeof(AliasRecord)
  157. };
  158.  
  159. struct ICMapEntry {
  160.     short total_length;
  161.     short fixed_length;
  162.     short version;
  163.     OSType file_type;
  164.     OSType file_creator;
  165.     OSType post_creator;
  166.     long flags;
  167.     /* variable part starts here */
  168.     Str255 extension;
  169.     Str255 creator_app_name;
  170.     Str255 post_app_name;
  171.     Str255 MIME_type;
  172.     Str255 entry_name;
  173. };
  174. typedef struct ICMapEntry ICMapEntry, *ICMapEntryPtr, **ICMapEntryHandle;
  175.  
  176. enum {
  177.     ICmap_binary_bit = 0,                        /* file should be transfered in binary as opposed to text mode */
  178.     ICmap_binary_mask = 0x00000001,
  179.     ICmap_resource_fork_bit = 1,        /* the resource fork of the file is significant */
  180.     ICmap_resource_fork_mask = 0x00000002,
  181.     ICmap_data_fork_bit = 2,                /* the data fork of the file is significant */
  182.     ICmap_data_fork_mask = 0x00000004,
  183.  
  184.     ICmap_post_bit = 3,                            /* post process using post fields */
  185.     ICmap_post_mask = 0x00000008,
  186.  
  187.     ICmap_not_incoming_bit = 4,            /* ignore this mapping for incoming files */
  188.     ICmap_not_incoming_mask = 0x00000010,
  189.     ICmap_not_outgoing_bit = 5,            /* ignore this mapping for outgoing files */
  190.     ICmap_not_outgoing_mask = 0x00000020,
  191.  
  192.     ICmap_fixed_length = 22                    /* number in fixed_length field */
  193. };
  194.  
  195. struct ICServiceEntry {
  196.     Str255 name;
  197.     short port;
  198.     short flags;
  199. };
  200. typedef struct ICServiceEntry ICServiceEntry, *ICServiceEntryPtr, **ICServiceEntryHandle;
  201.  
  202. struct ICServices {
  203.     short count;
  204.     ICServiceEntry services[1];
  205. };
  206. typedef struct ICServices ICServices, *ICServicesPtr, **ICServicesHandle;
  207.  
  208. enum {
  209.     ICservices_tcp_bit = 0,
  210.     ICservices_tcp_mask = 0x00000001,
  211.     ICservices_udp_bit = 1,
  212.     ICservices_udp_mask = 0x00000002
  213.     /* both bits can be set, which means the service is both TCP and UDP, eg daytime */
  214. };
  215.  
  216. #if PRAGMA_ALIGN_SUPPORTED
  217. #pragma options align=reset
  218. #endif
  219.  
  220. #endif
  221.